Class: Fog::Compute::Libvirt::Volumes
- Inherits:
-
Fog::Collection
- Object
- Array
- Fog::Collection
- Fog::Compute::Libvirt::Volumes
- Defined in:
- lib/fog/libvirt/models/compute/volumes.rb
Instance Attribute Summary
Attributes inherited from Fog::Collection
Instance Method Summary collapse
- #all(filter = nil) ⇒ Object
- #get(key) ⇒ Object
-
#get_by_key(key) ⇒ Object
Retrieve the volume by key.
-
#get_by_name(name) ⇒ Object
Retrieve the volume by name.
-
#get_by_path(path) ⇒ Object
Retrieve the volume by key.
Methods inherited from Fog::Collection
#clear, #create, #destroy, #initialize, #inspect, #load, model, #model, #new, #reload, #table, #to_json
Methods included from Attributes::ClassMethods
#_load, #aliases, #attribute, #attributes, #identity, #ignore_attributes, #ignored_attributes
Methods included from Attributes::InstanceMethods
#_dump, #attributes, #dup, #identity, #identity=, #merge_attributes, #new_record?, #requires, #requires_one
Constructor Details
This class inherits a constructor from Fog::Collection
Instance Method Details
#all(filter = nil) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/fog/libvirt/models/compute/volumes.rb', line 12 def all(filter=nil) data=[] if filter.nil? connection.raw.list_storage_pools.each do |poolname| pool=connection.raw.lookup_storage_pool_by_name(poolname) pool.list_volumes.each do |volumename| data << { :raw => pool.lookup_volume_by_name(volumename) } end end else volume=nil begin volume=self.get_by_name(filter[:name]) if filter.has_key?(:name) volume=self.get_by_key(filter[:key]) if filter.has_key?(:key) volume=self.get_by_path(filter[:path]) if filter.has_key?(:path) return nil if volume.nil? rescue ::Libvirt::RetrieveError return nil end data << { :raw => volume} end load(data) end |
#get(key) ⇒ Object
38 39 40 |
# File 'lib/fog/libvirt/models/compute/volumes.rb', line 38 def get(key) self.all(:key => key).first end |
#get_by_key(key) ⇒ Object
Retrieve the volume by key
57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/fog/libvirt/models/compute/volumes.rb', line 57 def get_by_key(key) connection.raw.list_storage_pools.each do |poolname| pool=connection.raw.lookup_storage_pool_by_name(poolname) volume=pool.lookup_volume_by_key(key) unless volume.nil? return volume end end return nil end |
#get_by_name(name) ⇒ Object
Retrieve the volume by name
44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/fog/libvirt/models/compute/volumes.rb', line 44 def get_by_name(name) connection.raw.list_storage_pools.each do |poolname| pool=connection.raw.lookup_storage_pool_by_name(poolname) volume=pool.lookup_volume_by_name(name) unless volume.nil? return volume end end return nil end |
#get_by_path(path) ⇒ Object
Retrieve the volume by key
70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/fog/libvirt/models/compute/volumes.rb', line 70 def get_by_path(path) connection.raw.list_storage_pools.each do |poolname| pool=connection.raw.lookup_storage_pool_by_name(poolname) volume=pool.lookup_volume_by_key(path) unless volume.nil? return volume end end return nil end |