Class: VSphereCloud::Resources::PersistentDiskIndex
- Inherits:
-
Object
- Object
- VSphereCloud::Resources::PersistentDiskIndex
- Defined in:
- lib/cloud/vsphere/resources.rb
Instance Method Summary collapse
- #cluster_includes_datastore?(cluster, datastore) ⇒ Boolean
- #clusters_connected_to_disk(disk) ⇒ Object
- #disks_connected_to_cluster(cluster) ⇒ Object
-
#initialize(clusters, existing_persistent_disks) ⇒ PersistentDiskIndex
constructor
A new instance of PersistentDiskIndex.
Constructor Details
#initialize(clusters, existing_persistent_disks) ⇒ PersistentDiskIndex
Returns a new instance of PersistentDiskIndex.
129 130 131 132 133 134 135 136 137 |
# File 'lib/cloud/vsphere/resources.rb', line 129 def initialize(clusters, existing_persistent_disks) @clusters_to_disks = Hash[*clusters.map do |cluster| [cluster, existing_persistent_disks.select { |disk| cluster_includes_datastore?(cluster, disk.datastore) }] end.flatten(1)] @disks_to_clusters = Hash[*existing_persistent_disks.map do |disk| [disk, clusters.select { |cluster| cluster_includes_datastore?(cluster, disk.datastore) }] end.flatten(1)] end |
Instance Method Details
#cluster_includes_datastore?(cluster, datastore) ⇒ Boolean
139 140 141 |
# File 'lib/cloud/vsphere/resources.rb', line 139 def cluster_includes_datastore?(cluster, datastore) cluster.persistent(datastore.name) != nil end |
#clusters_connected_to_disk(disk) ⇒ Object
147 148 149 |
# File 'lib/cloud/vsphere/resources.rb', line 147 def clusters_connected_to_disk(disk) @disks_to_clusters[disk] end |
#disks_connected_to_cluster(cluster) ⇒ Object
143 144 145 |
# File 'lib/cloud/vsphere/resources.rb', line 143 def disks_connected_to_cluster(cluster) @clusters_to_disks[cluster] end |