Class: VSphereCloud::Resources::ClusterProvider

Inherits:
Object
  • Object
show all
Defined in:
lib/cloud/vsphere/resources/cluster_provider.rb

Instance Method Summary collapse

Constructor Details

#initialize(datacenter, client, logger) ⇒ ClusterProvider

Returns a new instance of ClusterProvider.



4
5
6
7
8
# File 'lib/cloud/vsphere/resources/cluster_provider.rb', line 4

def initialize(datacenter, client, logger)
  @datacenter = datacenter
  @client = client
  @logger = logger
end

Instance Method Details

#find(name, config) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/cloud/vsphere/resources/cluster_provider.rb', line 10

def find(name, config)
  cluster_mob = cluster_mobs[name]
  raise "Can't find cluster: #{name}" if cluster_mob.nil?

  cluster_properties = @client.cloud_searcher.get_properties(
    cluster_mob, VimSdk::Vim::ClusterComputeResource,
    Cluster::PROPERTIES, :ensure_all => true
  )
  raise "Can't find properties for cluster: #{name}" if cluster_properties.nil?

  Cluster.new(
    @datacenter,
    @datacenter.ephemeral_pattern,
    @datacenter.persistent_pattern,
    @datacenter.mem_overcommit,
    config,
    cluster_properties,
    @logger,
    @client
  )
end