Sha256: c97e237df1aec5036819fa8a279f7d442330b12468609cc28f73eddbddb57824

Contents?: true

Size: 1.03 KB

Versions: 14

Compression:

Stored size: 1.03 KB

Contents

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

Version data entries

14 entries across 14 versions & 4 rubygems

Version Path
vagrant-cloudstack-1.1.0 vendor/bundle/gems/fog-1.22.1/lib/fog/vsphere/requests/compute/list_clusters.rb
nsidc-fog-1.24.1 lib/fog/vsphere/requests/compute/list_clusters.rb
fog-1.24.0 lib/fog/vsphere/requests/compute/list_clusters.rb
ns-fog-1.22.11 lib/fog/vsphere/requests/compute/list_clusters.rb
ns-fog-1.22.10 lib/fog/vsphere/requests/compute/list_clusters.rb
ns-fog-1.22.9 lib/fog/vsphere/requests/compute/list_clusters.rb
ns-fog-1.22.8 lib/fog/vsphere/requests/compute/list_clusters.rb
ns-fog-1.22.7 lib/fog/vsphere/requests/compute/list_clusters.rb
ns-fog-1.22.6 lib/fog/vsphere/requests/compute/list_clusters.rb
fog-1.23.0 lib/fog/vsphere/requests/compute/list_clusters.rb
ns-fog-1.22.4 lib/fog/vsphere/requests/compute/list_clusters.rb
ns-fog-1.22.3 lib/fog/vsphere/requests/compute/list_clusters.rb
ns-fog-1.22.2 lib/fog/vsphere/requests/compute/list_clusters.rb
fog-1.22.1 lib/fog/vsphere/requests/compute/list_clusters.rb