Parent

Included Modules

Class/Module Index [+]

Quicksearch

Fog::Compute::Libvirt::Volume

Attributes

xml[R]

Public Class Methods

new(attributes={ }) click to toggle source

Can be created by passing in :xml => "<xml to create volume>" A volume always belongs to a pool, :pool_name => "<name of pool>"

# File lib/fog/libvirt/models/compute/volume.rb, line 26
def initialize(attributes={ })
  @xml = attributes.delete(:xml)
  super(defaults.merge(attributes))

  # We need a connection to calculate the pool_name
  # This is why we do this after super
  self.pool_name ||= default_pool_name
end

Public Instance Methods

clone(name) click to toggle source

Clones this volume to the name provided

# File lib/fog/libvirt/models/compute/volume.rb, line 55
def clone(name)
  new_volume      = self.dup
  new_volume.key  = nil
  new_volume.name = name
  new_volume.save

  new_volume.reload
end
destroy() click to toggle source

Destroy a volume

# File lib/fog/libvirt/models/compute/volume.rb, line 45
def destroy
  service.volume_action key, :delete
end
save() click to toggle source

Takes a pool and either :xml or other settings

# File lib/fog/libvirt/models/compute/volume.rb, line 36
def save
  requires :pool_name

  raise Fog::Errors::Error.new('Reserving an existing volume may create a duplicate') if key
  @xml ||= to_xml
  self.path = service.create_volume(pool_name, xml).path
end
wipe() click to toggle source

Wipes a volume , zeroes disk

# File lib/fog/libvirt/models/compute/volume.rb, line 50
def wipe
  service.volume_action key, :wipe
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.