Class: Fog::Compute::Libvirt::Pools
- Inherits:
-
Fog::Collection
- Object
- Array
- Fog::Collection
- Fog::Compute::Libvirt::Pools
- Defined in:
- lib/fog/libvirt/models/compute/pools.rb
Instance Attribute Summary
Attributes inherited from Fog::Collection
Instance Method Summary collapse
- #all(filter = nil) ⇒ Object
- #get(uuid) ⇒ Object
-
#get_by_name(name) ⇒ Object
Retrieve the pool by name.
-
#get_by_uuid(uuid) ⇒ Object
private # Making these private, screws up realod Retrieve the pool by uuid.
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/pools.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) data << { :raw => pool } end connection.raw.list_defined_storage_pools.each do |poolname| data << { :raw => connection.raw.lookup_storage_pool_by_name(poolname) } end else pool=nil begin pool=get_by_uuid(filter[:uuid]) if filter.has_key?(:uuid) pool=get_by_name(filter[:name]) if filter.has_key?(:name) rescue ::Libvirt::RetrieveError return nil end data << { :raw => pool} end load(data) end |
#get(uuid) ⇒ Object
38 39 40 |
# File 'lib/fog/libvirt/models/compute/pools.rb', line 38 def get(uuid) self.all(:uuid => uuid).first end |
#get_by_name(name) ⇒ Object
Retrieve the pool by name
50 51 52 53 54 |
# File 'lib/fog/libvirt/models/compute/pools.rb', line 50 def get_by_name(name) pool=connection.raw.lookup_storage_pool_by_name(name) return pool # new(:raw => pool) end |
#get_by_uuid(uuid) ⇒ Object
private # Making these private, screws up realod Retrieve the pool by uuid
44 45 46 47 |
# File 'lib/fog/libvirt/models/compute/pools.rb', line 44 def get_by_uuid(uuid) pool=connection.raw.lookup_storage_pool_by_uuid(uuid) return pool end |