class Fog::Compute::ProfitBricks::Snapshot

Attributes

options[RW]

Public Class Methods

new(attributes = {}) click to toggle source
Calls superclass method
# File lib/fog/profitbricks/models/compute/snapshot.rb, line 38
def initialize(attributes = {})
  super
end

Public Instance Methods

delete() click to toggle source
# File lib/fog/profitbricks/models/compute/snapshot.rb, line 65
def delete
  requires :id
  service.delete_snapshot(id)
  true
end
failed?() click to toggle source
# File lib/fog/profitbricks/models/compute/snapshot.rb, line 75
def failed?
  state == 'ERROR'
end
ready?() click to toggle source
# File lib/fog/profitbricks/models/compute/snapshot.rb, line 71
def ready?
  state == 'AVAILABLE'
end
update() click to toggle source
# File lib/fog/profitbricks/models/compute/snapshot.rb, line 42
def update
  requires :id

  options = {}
  options[:name]                = name if name
  options[:description]         = description if description
  options[:cpuHotPlug]          = cpu_hot_plug if cpu_hot_plug
  options[:cpuHotUnplug]        = cpu_hot_unplug if cpu_hot_unplug
  options[:ramHotPlug]          = ram_hot_plug if ram_hot_plug
  options[:ramHotUnplug]        = ram_hot_unplug if ram_hot_unplug
  options[:nicHotPlug]          = nic_hot_plug if nic_hot_plug
  options[:nicHotUnplug]        = nic_hot_unplug if nic_hot_unplug
  options[:discVirtioHotPlug]   = disc_virtio_hot_plug if disc_virtio_hot_plug
  options[:discVirtioHotUnplug] = disc_virtio_hot_unplug if disc_virtio_hot_unplug
  options[:discScsiHotPlug]     = disc_scsi_hot_plug if disc_scsi_hot_plug
  options[:discScsiHotUnplug]   = disc_scsi_hot_unplug if disc_scsi_hot_unplug
  options[:licenceType]         = license_type if license_type

  data = service.update_snapshot(id, options)
  merge_attributes(flatten(data.body))
  true
end