1
0
Fork 0
mirror of https://github.com/fog/fog.git synced 2022-11-09 13:51:43 -05:00
fog--fog/lib/fog/vsphere/requests/compute/list_clusters.rb
Ohad Levy b70e972a58 VMWare vsphere provider refactor
missing:
- new model tests
- templates model
- clone

this patch includes a lot of changes and cleanups, exposing more fog
collections/models and rewriting most requests
it includes valuable feedback from endzyme <nick.huanca@gmail.com>
2012-11-14 15:31:02 +02:00

37 lines
1 KiB
Ruby

module Fog
module Compute
class Vsphere
class Real
def list_clusters(filters = { })
datacenter_name = filters[:datacenter]
raw_clusters(datacenter_name).map do |cluster|
cluster_attributes(cluster, datacenter_name)
end
end
def raw_clusters(datacenter)
find_raw_datacenter(datacenter).hostFolder.childEntity.grep(RbVmomi::VIM::ClusterComputeResource)
end
protected
def cluster_attributes cluster, datacenter_name
{
:id => managed_obj_id(cluster),
:name => cluster.name,
:num_host => cluster.summary.numHosts,
:num_cpu_cores => cluster.summary.numCpuCores,
:overall_status => cluster.summary.overallStatus,
:datacenter => datacenter_name || parent_attribute(cluster.path, :datacenter)[1],
}
end
end
class Mock
def list_clusters(filters = { })
end
end
end
end
end